↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PrologToPiTRSProof
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
PERM_IN_GA(Xs, .(X, Ys)) → U1_GA(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
PERM_IN_GA(Xs, .(X, Ys)) → APP_IN_AGG(X1s, .(X, X2s), Xs)
APP_IN_AGG(.(X, Xs), Ys, .(X, Zs)) → U4_AGG(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
APP_IN_AGG(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → U4_AGA(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
U1_GA(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_GA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U1_GA(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → APP_IN_GAA(X1s, X2s, Zs)
APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) → U4_GAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → U4_AAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
U2_GA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_GA(Xs, X, Ys, perm_in_aa(Zs, Ys))
U2_GA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
PERM_IN_AA(Xs, .(X, Ys)) → U1_AA(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
PERM_IN_AA(Xs, .(X, Ys)) → APP_IN_AGA(X1s, .(X, X2s), Xs)
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_AA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → APP_IN_GAA(X1s, X2s, Zs)
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_AA(Xs, X, Ys, perm_in_aa(Zs, Ys))
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ PrologToPiTRSProof
PERM_IN_GA(Xs, .(X, Ys)) → U1_GA(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
PERM_IN_GA(Xs, .(X, Ys)) → APP_IN_AGG(X1s, .(X, X2s), Xs)
APP_IN_AGG(.(X, Xs), Ys, .(X, Zs)) → U4_AGG(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
APP_IN_AGG(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → U4_AGA(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
U1_GA(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_GA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U1_GA(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → APP_IN_GAA(X1s, X2s, Zs)
APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) → U4_GAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → U4_AAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
U2_GA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_GA(Xs, X, Ys, perm_in_aa(Zs, Ys))
U2_GA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
PERM_IN_AA(Xs, .(X, Ys)) → U1_AA(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
PERM_IN_AA(Xs, .(X, Ys)) → APP_IN_AGA(X1s, .(X, X2s), Xs)
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_AA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → APP_IN_GAA(X1s, X2s, Zs)
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_AA(Xs, X, Ys, perm_in_aa(Zs, Ys))
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
↳ PrologToPiTRSProof
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
↳ PrologToPiTRSProof
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ NonTerminationProof
↳ PiDP
↳ PiDP
↳ PrologToPiTRSProof
APP_IN_AAA → APP_IN_AAA
APP_IN_AAA → APP_IN_AAA
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PrologToPiTRSProof
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PrologToPiTRSProof
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ NonTerminationProof
↳ PiDP
↳ PrologToPiTRSProof
APP_IN_AGA(Ys) → APP_IN_AGA(Ys)
APP_IN_AGA(Ys) → APP_IN_AGA(Ys)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PrologToPiTRSProof
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_AA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
PERM_IN_AA(Xs, .(X, Ys)) → U1_AA(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PrologToPiTRSProof
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_AA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
PERM_IN_AA(Xs, .(X, Ys)) → U1_AA(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ PrologToPiTRSProof
U1_AA(app_out_aga(X1s, Xs)) → U2_AA(Xs, app_in_gaa(X1s))
U2_AA(Xs, app_out_gaa) → PERM_IN_AA
PERM_IN_AA → U1_AA(app_in_aga(.))
app_in_gaa(.) → U4_gaa(app_in_aaa)
app_in_gaa([]) → app_out_gaa
app_in_aga(Ys) → U4_aga(app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys)
U4_gaa(app_out_aaa(Xs)) → app_out_gaa
U4_aga(app_out_aga(Xs, Zs)) → app_out_aga(., .)
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_gaa(x0)
app_in_aga(x0)
U4_gaa(x0)
U4_aga(x0)
app_in_aaa
U4_aaa(x0)
U1_AA(app_out_aga([], y1)) → U2_AA(y1, app_out_gaa)
U1_AA(app_out_aga(., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ PrologToPiTRSProof
U2_AA(Xs, app_out_gaa) → PERM_IN_AA
U1_AA(app_out_aga([], y1)) → U2_AA(y1, app_out_gaa)
PERM_IN_AA → U1_AA(app_in_aga(.))
U1_AA(app_out_aga(., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
app_in_gaa(.) → U4_gaa(app_in_aaa)
app_in_gaa([]) → app_out_gaa
app_in_aga(Ys) → U4_aga(app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys)
U4_gaa(app_out_aaa(Xs)) → app_out_gaa
U4_aga(app_out_aga(Xs, Zs)) → app_out_aga(., .)
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_gaa(x0)
app_in_aga(x0)
U4_gaa(x0)
U4_aga(x0)
app_in_aaa
U4_aaa(x0)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ PrologToPiTRSProof
U2_AA(Xs, app_out_gaa) → PERM_IN_AA
U1_AA(app_out_aga([], y1)) → U2_AA(y1, app_out_gaa)
PERM_IN_AA → U1_AA(app_in_aga(.))
U1_AA(app_out_aga(., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_gaa(app_out_aaa(Xs)) → app_out_gaa
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_aga(Ys) → U4_aga(app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys)
U4_aga(app_out_aga(Xs, Zs)) → app_out_aga(., .)
app_in_gaa(x0)
app_in_aga(x0)
U4_gaa(x0)
U4_aga(x0)
app_in_aaa
U4_aaa(x0)
app_in_gaa(x0)
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ PrologToPiTRSProof
U2_AA(Xs, app_out_gaa) → PERM_IN_AA
U1_AA(app_out_aga([], y1)) → U2_AA(y1, app_out_gaa)
PERM_IN_AA → U1_AA(app_in_aga(.))
U1_AA(app_out_aga(., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_gaa(app_out_aaa(Xs)) → app_out_gaa
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_aga(Ys) → U4_aga(app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys)
U4_aga(app_out_aga(Xs, Zs)) → app_out_aga(., .)
app_in_aga(x0)
U4_gaa(x0)
U4_aga(x0)
app_in_aaa
U4_aaa(x0)
PERM_IN_AA → U1_AA(app_out_aga([], .))
PERM_IN_AA → U1_AA(U4_aga(app_in_aga(.)))
↳ Prolog
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ NonTerminationProof
↳ PrologToPiTRSProof
U2_AA(Xs, app_out_gaa) → PERM_IN_AA
U1_AA(app_out_aga([], y1)) → U2_AA(y1, app_out_gaa)
PERM_IN_AA → U1_AA(U4_aga(app_in_aga(.)))
PERM_IN_AA → U1_AA(app_out_aga([], .))
U1_AA(app_out_aga(., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_gaa(app_out_aaa(Xs)) → app_out_gaa
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_aga(Ys) → U4_aga(app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys)
U4_aga(app_out_aga(Xs, Zs)) → app_out_aga(., .)
app_in_aga(x0)
U4_gaa(x0)
U4_aga(x0)
app_in_aaa
U4_aaa(x0)
U2_AA(Xs, app_out_gaa) → PERM_IN_AA
U1_AA(app_out_aga([], y1)) → U2_AA(y1, app_out_gaa)
PERM_IN_AA → U1_AA(U4_aga(app_in_aga(.)))
PERM_IN_AA → U1_AA(app_out_aga([], .))
U1_AA(app_out_aga(., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_gaa(app_out_aaa(Xs)) → app_out_gaa
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_aga(Ys) → U4_aga(app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys)
U4_aga(app_out_aga(Xs, Zs)) → app_out_aga(., .)
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
PERM_IN_GA(Xs, .(X, Ys)) → U1_GA(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
PERM_IN_GA(Xs, .(X, Ys)) → APP_IN_AGG(X1s, .(X, X2s), Xs)
APP_IN_AGG(.(X, Xs), Ys, .(X, Zs)) → U4_AGG(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
APP_IN_AGG(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → U4_AGA(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
U1_GA(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_GA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U1_GA(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → APP_IN_GAA(X1s, X2s, Zs)
APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) → U4_GAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → U4_AAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
U2_GA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_GA(Xs, X, Ys, perm_in_aa(Zs, Ys))
U2_GA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
PERM_IN_AA(Xs, .(X, Ys)) → U1_AA(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
PERM_IN_AA(Xs, .(X, Ys)) → APP_IN_AGA(X1s, .(X, X2s), Xs)
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_AA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → APP_IN_GAA(X1s, X2s, Zs)
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_AA(Xs, X, Ys, perm_in_aa(Zs, Ys))
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
PERM_IN_GA(Xs, .(X, Ys)) → U1_GA(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
PERM_IN_GA(Xs, .(X, Ys)) → APP_IN_AGG(X1s, .(X, X2s), Xs)
APP_IN_AGG(.(X, Xs), Ys, .(X, Zs)) → U4_AGG(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
APP_IN_AGG(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → U4_AGA(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
U1_GA(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_GA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U1_GA(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → APP_IN_GAA(X1s, X2s, Zs)
APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) → U4_GAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
APP_IN_GAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → U4_AAA(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
U2_GA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_GA(Xs, X, Ys, perm_in_aa(Zs, Ys))
U2_GA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
PERM_IN_AA(Xs, .(X, Ys)) → U1_AA(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
PERM_IN_AA(Xs, .(X, Ys)) → APP_IN_AGA(X1s, .(X, X2s), Xs)
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_AA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → APP_IN_GAA(X1s, X2s, Zs)
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_AA(Xs, X, Ys, perm_in_aa(Zs, Ys))
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDP
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
↳ PiDP
APP_IN_AAA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AAA(Xs, Ys, Zs)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ NonTerminationProof
↳ PiDP
↳ PiDP
APP_IN_AAA → APP_IN_AAA
APP_IN_AAA → APP_IN_AAA
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ PiDP
APP_IN_AGA(.(X, Xs), Ys, .(X, Zs)) → APP_IN_AGA(Xs, Ys, Zs)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ NonTerminationProof
↳ PiDP
APP_IN_AGA(Ys) → APP_IN_AGA(Ys)
APP_IN_AGA(Ys) → APP_IN_AGA(Ys)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_AA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
PERM_IN_AA(Xs, .(X, Ys)) → U1_AA(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
perm_in_ga(Xs, .(X, Ys)) → U1_ga(Xs, X, Ys, app_in_agg(X1s, .(X, X2s), Xs))
app_in_agg(.(X, Xs), Ys, .(X, Zs)) → U4_agg(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
U4_agg(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_agg(.(X, Xs), Ys, .(X, Zs))
app_in_agg([], Ys, Ys) → app_out_agg([], Ys, Ys)
U1_ga(Xs, X, Ys, app_out_agg(X1s, .(X, X2s), Xs)) → U2_ga(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
U2_ga(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_ga(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa(Xs, .(X, Ys)) → U1_aa(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
U1_aa(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_aa(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
U2_aa(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → U3_aa(Xs, X, Ys, perm_in_aa(Zs, Ys))
perm_in_aa([], []) → perm_out_aa([], [])
U3_aa(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_aa(Xs, .(X, Ys))
U3_ga(Xs, X, Ys, perm_out_aa(Zs, Ys)) → perm_out_ga(Xs, .(X, Ys))
perm_in_ga([], []) → perm_out_ga([], [])
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
U2_AA(Xs, X, Ys, app_out_gaa(X1s, X2s, Zs)) → PERM_IN_AA(Zs, Ys)
U1_AA(Xs, X, Ys, app_out_aga(X1s, .(X, X2s), Xs)) → U2_AA(Xs, X, Ys, app_in_gaa(X1s, X2s, Zs))
PERM_IN_AA(Xs, .(X, Ys)) → U1_AA(Xs, X, Ys, app_in_aga(X1s, .(X, X2s), Xs))
app_in_gaa(.(X, Xs), Ys, .(X, Zs)) → U4_gaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_gaa([], Ys, Ys) → app_out_gaa([], Ys, Ys)
app_in_aga(.(X, Xs), Ys, .(X, Zs)) → U4_aga(X, Xs, Ys, Zs, app_in_aga(Xs, Ys, Zs))
app_in_aga([], Ys, Ys) → app_out_aga([], Ys, Ys)
U4_gaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_gaa(.(X, Xs), Ys, .(X, Zs))
U4_aga(X, Xs, Ys, Zs, app_out_aga(Xs, Ys, Zs)) → app_out_aga(.(X, Xs), Ys, .(X, Zs))
app_in_aaa(.(X, Xs), Ys, .(X, Zs)) → U4_aaa(X, Xs, Ys, Zs, app_in_aaa(Xs, Ys, Zs))
app_in_aaa([], Ys, Ys) → app_out_aaa([], Ys, Ys)
U4_aaa(X, Xs, Ys, Zs, app_out_aaa(Xs, Ys, Zs)) → app_out_aaa(.(X, Xs), Ys, .(X, Zs))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
U1_AA(app_out_aga(X1s, ., Xs)) → U2_AA(Xs, app_in_gaa(X1s))
U2_AA(Xs, app_out_gaa(X1s)) → PERM_IN_AA
PERM_IN_AA → U1_AA(app_in_aga(.))
app_in_gaa(.) → U4_gaa(app_in_aaa)
app_in_gaa([]) → app_out_gaa([])
app_in_aga(Ys) → U4_aga(Ys, app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys, Ys)
U4_gaa(app_out_aaa(Xs)) → app_out_gaa(.)
U4_aga(Ys, app_out_aga(Xs, Ys, Zs)) → app_out_aga(., Ys, .)
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_gaa(x0)
app_in_aga(x0)
U4_gaa(x0)
U4_aga(x0, x1)
app_in_aaa
U4_aaa(x0)
U1_AA(app_out_aga(., ., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
U1_AA(app_out_aga([], ., y1)) → U2_AA(y1, app_out_gaa([]))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
U2_AA(Xs, app_out_gaa(X1s)) → PERM_IN_AA
PERM_IN_AA → U1_AA(app_in_aga(.))
U1_AA(app_out_aga(., ., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
U1_AA(app_out_aga([], ., y1)) → U2_AA(y1, app_out_gaa([]))
app_in_gaa(.) → U4_gaa(app_in_aaa)
app_in_gaa([]) → app_out_gaa([])
app_in_aga(Ys) → U4_aga(Ys, app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys, Ys)
U4_gaa(app_out_aaa(Xs)) → app_out_gaa(.)
U4_aga(Ys, app_out_aga(Xs, Ys, Zs)) → app_out_aga(., Ys, .)
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_gaa(x0)
app_in_aga(x0)
U4_gaa(x0)
U4_aga(x0, x1)
app_in_aaa
U4_aaa(x0)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
U2_AA(Xs, app_out_gaa(X1s)) → PERM_IN_AA
PERM_IN_AA → U1_AA(app_in_aga(.))
U1_AA(app_out_aga(., ., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
U1_AA(app_out_aga([], ., y1)) → U2_AA(y1, app_out_gaa([]))
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_gaa(app_out_aaa(Xs)) → app_out_gaa(.)
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_aga(Ys) → U4_aga(Ys, app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys, Ys)
U4_aga(Ys, app_out_aga(Xs, Ys, Zs)) → app_out_aga(., Ys, .)
app_in_gaa(x0)
app_in_aga(x0)
U4_gaa(x0)
U4_aga(x0, x1)
app_in_aaa
U4_aaa(x0)
app_in_gaa(x0)
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
U2_AA(Xs, app_out_gaa(X1s)) → PERM_IN_AA
PERM_IN_AA → U1_AA(app_in_aga(.))
U1_AA(app_out_aga(., ., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
U1_AA(app_out_aga([], ., y1)) → U2_AA(y1, app_out_gaa([]))
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_gaa(app_out_aaa(Xs)) → app_out_gaa(.)
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_aga(Ys) → U4_aga(Ys, app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys, Ys)
U4_aga(Ys, app_out_aga(Xs, Ys, Zs)) → app_out_aga(., Ys, .)
app_in_aga(x0)
U4_gaa(x0)
U4_aga(x0, x1)
app_in_aaa
U4_aaa(x0)
PERM_IN_AA → U1_AA(app_out_aga([], ., .))
PERM_IN_AA → U1_AA(U4_aga(., app_in_aga(.)))
↳ Prolog
↳ PrologToPiTRSProof
↳ PrologToPiTRSProof
↳ PiTRS
↳ DependencyPairsProof
↳ PiDP
↳ DependencyGraphProof
↳ AND
↳ PiDP
↳ PiDP
↳ PiDP
↳ UsableRulesProof
↳ PiDP
↳ PiDPToQDPProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ NonTerminationProof
PERM_IN_AA → U1_AA(app_out_aga([], ., .))
U2_AA(Xs, app_out_gaa(X1s)) → PERM_IN_AA
U1_AA(app_out_aga(., ., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
PERM_IN_AA → U1_AA(U4_aga(., app_in_aga(.)))
U1_AA(app_out_aga([], ., y1)) → U2_AA(y1, app_out_gaa([]))
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_gaa(app_out_aaa(Xs)) → app_out_gaa(.)
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_aga(Ys) → U4_aga(Ys, app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys, Ys)
U4_aga(Ys, app_out_aga(Xs, Ys, Zs)) → app_out_aga(., Ys, .)
app_in_aga(x0)
U4_gaa(x0)
U4_aga(x0, x1)
app_in_aaa
U4_aaa(x0)
PERM_IN_AA → U1_AA(app_out_aga([], ., .))
U2_AA(Xs, app_out_gaa(X1s)) → PERM_IN_AA
U1_AA(app_out_aga(., ., y1)) → U2_AA(y1, U4_gaa(app_in_aaa))
PERM_IN_AA → U1_AA(U4_aga(., app_in_aga(.)))
U1_AA(app_out_aga([], ., y1)) → U2_AA(y1, app_out_gaa([]))
app_in_aaa → U4_aaa(app_in_aaa)
app_in_aaa → app_out_aaa([])
U4_gaa(app_out_aaa(Xs)) → app_out_gaa(.)
U4_aaa(app_out_aaa(Xs)) → app_out_aaa(.)
app_in_aga(Ys) → U4_aga(Ys, app_in_aga(Ys))
app_in_aga(Ys) → app_out_aga([], Ys, Ys)
U4_aga(Ys, app_out_aga(Xs, Ys, Zs)) → app_out_aga(., Ys, .)